package order;

import java.math.BigDecimal;
import java.time.LocalDateTime;

class UserOrderSummary {
    public UserOrderSummary(String userId, String userName, BigDecimal totalAmount, BigDecimal maxOrderAmount, int orderCount, LocalDateTime lastOrderTime, boolean highValueCustomer) {
        this.userId = userId;
        this.userName = userName;
        this.totalAmount = totalAmount;
        this.maxOrderAmount = maxOrderAmount;
        this.orderCount = orderCount;
        this.lastOrderTime = lastOrderTime;
        this.highValueCustomer = highValueCustomer;
    }

    private String userId;
    private String userName;
    private BigDecimal totalAmount;       // 总消费金额
    private BigDecimal maxOrderAmount;    // 最大单笔订单金额

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getMaxOrderAmount() {
        return maxOrderAmount;
    }

    public void setMaxOrderAmount(BigDecimal maxOrderAmount) {
        this.maxOrderAmount = maxOrderAmount;
    }

    public int getOrderCount() {
        return orderCount;
    }

    public void setOrderCount(int orderCount) {
        this.orderCount = orderCount;
    }

    public LocalDateTime getLastOrderTime() {
        return lastOrderTime;
    }

    public void setLastOrderTime(LocalDateTime lastOrderTime) {
        this.lastOrderTime = lastOrderTime;
    }

    public boolean isHighValueCustomer() {
        return highValueCustomer;
    }

    public void setHighValueCustomer(boolean highValueCustomer) {
        this.highValueCustomer = highValueCustomer;
    }

    private int orderCount;               // 订单数量
    private LocalDateTime lastOrderTime;  // 最近一次下单时间
    private boolean highValueCustomer;    // 是否为高价值客户

    // 构造方法 + getter 略
}